package com.fxsh168.server.utils;

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Context;
import android.content.Intent;
import android.database.Cursor;
import android.graphics.Bitmap;
import android.net.Uri;
import android.provider.MediaStore;
import android.text.TextUtils;
import android.util.Log;

import java.io.IOException;

/**
 * Created by hasee on 2016/11/22.
 */
public class GetPhotoImgPath {
    public static String getPath(Intent intent, Context context, Activity activity){
        Uri uri = intent.getData();
        if (uri != null && !TextUtils.isEmpty(uri.toString().trim())) {
            Bitmap bm = null;
            //外界的程序访问ContentProvider所提供数据 可以通过ContentResolver接口
            ContentResolver resolver =context.getContentResolver();
            try {
                Uri originalUri = intent.getData();        //获得图片的uri
                bm = MediaStore.Images.Media.getBitmap(resolver, originalUri);        //显得到bitmap图片
                //获取图片的路径：
                String[] proj = {MediaStore.Images.Media.DATA};
                //好像是android多媒体数据库的封装接口，具体的看Android文档
                Cursor cursor = activity.managedQuery(originalUri, proj, null, null, null);
                //按我个人理解 这个是获得用户选择的图片的索引值
                int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
                //将光标移至开头 ，这个很重要，不小心很容易引起越界
                cursor.moveToFirst();
                //最后根据索引值获取图片路径
                String mSelectPath = cursor.getString(column_index);
                Log.e("cropRawPhoto", "没有选取图片!" + mSelectPath);
//                getImg(mSelectPath);
                return mSelectPath;
            } catch (IOException e) {
                Log.e("TAG", e.toString());
            }
        } else {
            Log.e("", "无图片路径!");
        }
        return null;
    }
}
